c logical programming